草庐IT

c++ - COM + WaitForSingleObject

全部标签

c++ - 在 Windows 环境中从 C 或 C++ 访问 COM 接口(interface)

我对组件对象模型规范比较陌生-我有一个简单的问题:如何从C或C++应用程序访问COM接口(interface)例如,访问MicrosoftExcelCOM接口(interface)以执行基本操作,无需用户干预。亲切的问候 最佳答案 实际上,您需要使用COM接口(interface)实例化对象。这相当复杂,我们无法在这里回答。这是一本很好的入门书:http://www.codeproject.com/KB/COM/comintro.aspx另一个:http://www.codeguru.com/cpp/com-tech/activex

java - 有没有运行良好的 Java COM 库?

我正在重写一个使用COM来自动化Windows应用程序的脚本,我想用Java重写它。问题是,COM库似乎有点过时,我不想把时间浪费在不起作用的代码上。有没有你尝试过和工作过的东西? 最佳答案 你看过JACOB了吗??最后更新于2009年6月8日。JACOBisaJAVA-COMBridgethatallowsyoutocallCOMAutomationcomponentsfromJava.ItusesJNItomakenativecallstotheCOMlibraries.JACOBrunsonx86andx64environme

windows - Hook Windows COM 运行时

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。是否有可用的工具来挂接WindowsCOM运行时?我希望能够看到所有创建的实例,查看对其接口(interface)的查询、方法调用等。谢谢!

c# - 在 C# 中创建一个文件并将其作为 IntPtr 传递给 COM 对象

我正在使用C#中的一些COM对象,其中之一有一个名为SetLogFile的函数,它接受一个IntPtr。如何在C#中创建文件,然后将其作为IntPtr传递给该COM函数?编辑:该函数需要一个打开的文件句柄:http://msdn.microsoft.com/en-us/library/aa915939.aspx 最佳答案 对于必须作为"file"传递的内容,您有点含糊——如果您有一个FileStream,您可以将FileStream.Handle作为IntPtr传递(假设它期望一个HANDLE值)参见“Howtopassparame

windows - 如何使用 Win32 API 与 com 端口 (RS232) 通信

我正在尝试使用win32API与com端口通信我找到了这个http://www.robbayer.com/files/serial-win.pdfhSerial=CreateFile("COM1",GENERIC_READ|GENERIC_WRITE,0,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);我使用VS2008,它提示错误C2664:“CreateFileW”:无法将参数1从“constchar[5]”转换为“LPCWSTR”好吧,我猜它不喜欢“COM1”是char*类型,我尝试将其转换为LPCWSTR("COM1"),然后编译没有问题。但是

windows - 免费注册 (Regfree) COM

我们使用COM对象自动化模型使我们的应用程序可供客户使用。他们大部分时间使用python来访问我们的应用程序界面。由于我们希望能够安装(尚未运行,这是另一个问题)应用程序的不同版本,我们正在将我们的COM组件更改为regfree。但这与脚本语言通过IDispatch自动化的访问冲突,因为它们需要注册表中的条目。我们的方法是创建一个应用程序来管理我们实际应用程序的事件版本。它让用户决定他想要的版本并负责注册表项。我们的方法有哪些替代方案? 最佳答案 COM中有一个协议(protocol)可以执行此操作。如果您对接口(interface

c++ - 为什么通过同一个 COM 对象的不同接口(interface)检索到的 IUnknown* 指针具有相同的值?

我有以下COM接口(interface)层次结构和一个实现它们的类:interfaceIX:publicIUnknown{};interfaceIY:publicIUnknown{};classCA:publicIX,publicIY{};这里classCA有效地继承自IUnknown两次。我们知道在classCA中有两个vtable指针-一个指向IX,另一个指向IY。所以IX子对象中存储的IUnknown与IY子对象中存储的IUnknown是不同的。然而,当我们在同一对象上调用IX::QueryInterface()或IY::QueryInterface()并查询IUnknown时,

windows - 如何在 Windows Azure 中安装和使用 COM 对象?

我有很多要在WindowsAzure计算服务中运行的32位C++代码。该代码已打包到COM服务器中,因此我想从将为外部请求提供服务的托管代码中使用该服务器。我用谷歌搜索但找不到有关如何在WindowsAzure下部署COM服务器的任何详细信息。我怎么做?有向导吗?有什么限制? 最佳答案 我认为您可以将COM对象部署为二进制文件,然后使用启动脚本注册它们-参见http://msdn.microsoft.com/en-us/gg433178-“练习2:使用启动任务注册COM组件” 关于win

c++ - 这个 Windows API 调用 WaitForSingleObject 有什么问题?

进程在Windows7中不稳定崩溃。我在WinDbg中使用!analyze-v命令进行异常分析。它告诉以下信息。该异常实际上是由IrsSim!IrsNet_BlockOutput调用的WaitForSingleObject函数抛出的。WinDbg的异常分析告诉我这是INVALID_POINTER_READ错误。对于调用代码,pChannel->hMutex不是NULL。我已经把它扔掉并检查了它的值(value)。IRSNETRETIrsNet_BlockOutput(IRSNET*pChannel){//CheckchannelIRSNET_CHECK_CHANNEL(pChannel

c# - 如何获得 com+ 应用程序的所有 com+ 组件的列表?

我正在尝试使用C#和ASP.NET来处理COM+。我一直在关注example,但是它的一部分失败了。dynamicoCatalog=Activator.CreateInstance(Type.GetTypeFromProgID("ComAdmin.COMAdminCatalog"));/*GettheApplicationscollectionandpopulateit*/dynamicapplicationInstances=oCatalog.GetCollection("Applications");applicationInstances.Populate();foreach(d